1. Field of the Invention
The present invention relates to computer networks. In particular, the present invention relates to a system and method for providing a protection protocol for fault recovery for a two line bi-directional ring network.
2. Background of the Invention
The need for cooperation among various computers has motivated the growth of efficient architectures of networks. One topology of networks is a ring network, such as FDDI and SONET.
FIG. 1 shows an example of a two line bi-directional ring network. The ring network 100 is shown to include nodes 102a-102g. Each node is typically a computer with embedded processors and at least one network connection. Each node 102a-102g is shown to be bidirectionally coupled to two neighboring nodes 102a-102g via an inner connection ring 110a-110g and an outer connection ring 108a-108g. For instance, node 102a is bidirectionally coupled to nodes 102b and 102g. The example of FIG. 1 also shows a problem 104 in the connection between node 102b and node 102c. When a problem is detected (such as a bi-directional line cut), the connection between nodes 102b and 102d wraps back upon itself, as shown by wraps 106a and 106b. In this manner, the connection problem 104 can be avoided.
In a conventional SONET Line Switched Network, the nodes on each side of the problem 104 will typically exchange messages with each other over the long path. In this example, node 102b would send a message to node 102c via connection 110g, and vice versa, via connection 108g. In a conventional SONET Line Switched Ring Network, the nodes on each side of the problem 104 will typically exchange messages with each other over the long path. The long path is the path that passes the other nodes in the ring network to reach a neighbor of the node that originated the message. For example, a long path from node 102b to node 102c would pass through nodes 102a-102d via outer ring 108a-108f. 
When both the nodes flanking the problem 104 receive the other nodeis message, then these nodes will typically perform a wrap. For example, when nodes 102b and 102c receive each otheris message indicating the detection of the problem 104, nodes 102b and 102c will perform wraps 106a and 106b. In order to send these messages, each node that sends a message must typically know the identity and location of the receiving node. If the identity and location of the receiving node is not accurate, then there will typically be a failure to wrap.
In a conventional SONET network, each message sent by a sending node to a receiving node typically needs the identification and location of the receiving node to arrive at the proper destination. Accordingly, manual configuration is typically needed in each node to store the identity and location of each other node in the ring network in order to provide for communication between the nodes in the network.
A problem can arise when a new node is coupled into the ring network. Each node then typically needs to have its topology map of the ring network reconfigured such that the identity and location of the new node in the ring network can be included. Additionally, the locations of at least some of the original nodes may also change and these changes should also be included in each nodeis internal map of the network. Until and unless these new locations and identities can be included in a sending nodeis internal map of the network, messages sent by a node indicating that a problem has been detected will typically not arrive at the proper destination node. When these message fail to arrive at the proper destination, the required ring wraps will also fail to occur.
Likewise, if two ring networks are merged into one, each node will then typically need to have its internal map of the ring network configured to include the identities and locations of each node included in the merged ring network. These reconfigurations typically require the time and effort of a programmer or network administrator. Again, unless and until these new locations and identities can be included in a sending nodeis internal map of the network, messages sent by that node will typically not arrive at the proper destination node. In summary, for the protection mechanism to operate, each node needs to know the current ring map (current ring topology). Accordingly, required ring wraps will fail to occur.
In summary, for the protection mechanism to operate, each node needs to know the current ring map (current ring topology). What is needed is a system and method for providing fault recovery for two line bi-directional ring network that minimizes the need to keep track of other nodes in the ring network. Preferably, the system would not require reconfiguration of an internal map of the network when a new node is added to, or existing nodes are removed from the network. The present invention addresses such a need.
The present invention provides a protection protocol for fault recovery, such as a ring wrap, for a network, such as a two line bi-directional ring network. An embodiment of the present invention works in conjunction with a ring topology network in which a node in the network can identify a problem with a connection between the node and a first neighbor. According to the embodiment, when the problem is identified, the node sends a message identifying the problem to a second neighbor which is located at least one node away from the problem. The second neighbor then forwards the message to a third neighbor, unless the second neighbor is dealing with a situation that is higher in a hierarchy of situations than the problem described in the message by the original node. In general, if the second neighboris situation has a higher priority than the situation described by the original node, then the message is ignored and not forwarded. If, however, the message sent by the original node describes a situation with a higher priority than the situation being dealt with by the second neighbor, then, in general, the second neighboris situation is ignored, at least for the moment, and the original nodeis message is forwarded to the next neighbor. In general, a higher priority request preempts a lower priority request within the ring. Exceptions are noted as rules of the protection protocol.
The present invention provides a protection protocol that simplifies the coordination required by the nodes in a ring network. The nodes do not need to maintain a topology map of the ring, identifying and locating each node on the ring, for effective protection. Additionally, independently operating ring networks can be merged and the protection protocol automatically appropriately removes a protection, such as a ring wrap, to allow the formation of a single ring. It also provides for multiple levels of protection priority so that protection for a high priority failure, such as a physical break in a connection, removes protection for a low priority failure, such as a signal degrade, on another link.
A method according to an embodiment of the present invention for fault recovery for a ring computer network, the ring network including a plurality of nodes, is presented. The method comprises detecting a situation by a first node, wherein the first node is one of the plurality of nodes; sending a first message via a short path to a second node, wherein the first node is adjacent to the second node; and initiating a fault recovery procedure when the second node receives the first message.
In another aspect of an embodiment of the present invention, a method for adding a new node to a ring computer network, the ring network including a plurality of nodes, is presented. The method comprises detecting a situation by a first node, wherein the first node is one of the plurality of nodes; sending a first message via a short path to a second node, wherein the first node is adjacent to the second node prior to an addition of the new node; initiating a fault recovery procedure when the second node receives the first message; receiving a second message from the new node; and entering an idle state when the second message is received.
In yet another aspect of an embodiment of the present invention, a system for fault recovery for a ring computer network, the ring network including a plurality of nodes, is presented. The system comprises means for detecting a situation by a first node, wherein the first node is one of the plurality of nodes; means for sending a first message via a short path to a second node, wherein the first node is adjacent to the second node; and means for initiating a fault recovery procedure when the second node receives the first message